home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / util / misc / ftrans12.lha / FTrans.rexx < prev    next >
OS/2 REXX Batch file  |  1994-04-22  |  4KB  |  217 lines

  1. /*  $VER: FTrans.rexx 1.0 (Jan  3 1994)
  2.  *
  3.  *  Arexx-Script für FTrans Arexx-Interface (c) Copyright 1993 by Rainer Hess
  4.  *
  5.  *  May 21 1993, Oct 22 1993, Dec 21 1993, Dec 26 1993, Dec 30 1993
  6.  *  Dec 31 1993, Jan  3 1994,
  7.  */
  8.  
  9. options results
  10.  
  11. /*
  12.  * Wir definieren unsere Eingabe und Ausgabedatei, ebenso unseren
  13.  * Publicscreen. Diese brauchen wir später in diesem Arexx-Script.
  14.  *
  15.  * ACHHTUNG! Die Eingabedatei die in 'indat' initalisiert wird sollte
  16.  * existieren da wir sonst eine Fehlermeldung bekommen. Ebenso sollte
  17.  * der Publicscreen vorhanden sein, geht aber auch ohne.
  18.  */
  19.  
  20. indat  = "RAM:AlteTextDatei"
  21. outdat = "RAM:NeueTextDatei"
  22.  
  23. newpubscreenname = "CygnusEdScreen1"
  24.  
  25. /*
  26.  * rexxsupport.library einbinden.
  27.  */
  28.  
  29. if ~show('l',"rexxsupport.library") then do
  30.    call addlib 'rexxsupport.library',0,-30,0
  31.    if (result = 0) then do
  32.      say "Die rexxsupport.library kann nicht eingebunden werden!"
  33.      say "Evtl. ist die rexxsupport.library nicht installiert..."
  34.      exit
  35.    end
  36. end
  37.  
  38. /*
  39.  * Läuft unser Ftrans mit ARexx-Port "rexx_FTrans"?
  40.  */
  41.  
  42. ok = show("P","rexx_FTrans")
  43. if ok = 0 then do
  44.    say 'Entschuldigung, das Programm FTrans mit Arexx-Port rexx_FTrans läuft nicht!'
  45.    exit 0
  46. end
  47.  
  48. /*
  49.  *  Text auf das Shell-Fenster ausgeben in dem
  50.  *  der Arexx-Script gestartet wurde.
  51.  */
  52.  
  53. say ' - Start...'
  54. say
  55.  
  56. /*
  57.  * Arexx-Port aktivieren.
  58.  */
  59.  
  60. address 'rexx_FTrans'
  61.  
  62. /*
  63.  * Und den ersten Arexx-Befehl zu FTrans senden.
  64.  * FTEcho "ON" gibt Informationen im Info-Fenster von FTrans aus.
  65.  * FTEcho "OFF" wuerde dies unterbinden.
  66.  */
  67.  
  68. FTEcho "on"
  69. say "-> FTEcho ist" result
  70. say
  71.  
  72. /*
  73.  * Nun einen Text auf das Info-Fenster von FTrans ausgeben.
  74.  * Danach 1 Sekunde (50 Ticks = 1 Sekunde) warten.
  75.  */
  76.  
  77. Message "Hallo ich soll Dich von FTrans informieren..."
  78. ok = delay(50)
  79.  
  80. /*
  81.  * Nun Wechseln wir die Übersetzungsart. Was dann aktiviert
  82.  * ist bekommen wir als Text zurückgeliefert (TEXT oder WORT).
  83.  * Danach wieder 1 Sekunde warten. Einfach so zum Überblick...
  84.  */
  85.  
  86. Wechsel
  87. say "-> Wechsel, nun aktive Übersetzung:" result
  88. ok = delay(50)
  89.  
  90. /*
  91.  * Nun übersetzen wir den Text von Datei indat und der Datei outdat.
  92.  * Sollte eine Datei nicht gefunden werden, bekommen wir einen Fehler!
  93.  */
  94.  
  95. say
  96. say "-> Übersetze" indat "nach" outdat
  97. Text indat outdat
  98. say "-> Text:" result
  99.  
  100. /*
  101.  * Nun ein Wort von der Shell abholen.
  102.  */
  103.  
  104. say
  105. options prompt "-> Bitte ein Wort eingeben: "
  106. parse pull eingabe
  107.  
  108. /*
  109.  * Das Wort in eine Datei schreiben von dort aus kann es Ftrans übernehmen.
  110.  */
  111.  
  112. ok = open("DateiName", "t:FTransEingabe", "W")
  113. ok = writech( "DateiName", eingabe )
  114. ok = close("DateiName")
  115.  
  116. /*
  117.  * FTrans holt das Wort aus der Datei und sucht im Wörter nach der Übersetzung.
  118.  * Wurde es nicht gefunden steht es in den geschweiften Blockklammern { und }.
  119.  */
  120.  
  121. Wort "t:FTransEingabe"
  122. say "                  Ergebnis:" result
  123.  
  124. /*
  125.  * Nun wird der Dos-Befehl Delete ausgeführt. Dieser sollte sich im C:
  126.  * Direktorie befinden. Ist er da wird die Übergabedatei gelöscht.
  127.  */
  128.  
  129. if exists('c:delete') then
  130.   address command 'c:delete' ">NIL: t:FTransEingabe"
  131. else say 'Dos-Befehl c:Delete ist nicht zu finden...'
  132.  
  133.  
  134. /*
  135.  * Arexx-Port wieder aktivieren.
  136.  */
  137.  
  138. address 'rexx_FTrans'
  139.  
  140. /*
  141.  * Den alten Publicscreen merken.
  142.  */
  143.  
  144. say
  145. OLDPUBLICSCREEN
  146. oldpub=result
  147. say "-> Alter PublicScreen:" oldpub
  148.  
  149. /*
  150.  * Den neuen Publicscreen setzen.
  151.  */
  152.  
  153. say
  154. PUBLICSCREEN newpubscreenname
  155. say "-> Neuer PublicScreen:" result
  156.  
  157. /*
  158.  * Und den alten wieder verwenden.
  159.  */
  160.  
  161. say
  162. PUBLICSCREEN oldpub
  163. say "-> Alter PublicScreen:" result
  164.  
  165. /*
  166.  * Aktuelles Wöterbuch deaktivieren
  167.  * (und 5 Sekunden warten, um es besser beobachten zu können)
  168.  */
  169.  
  170. say
  171. DELOAD
  172. say "-> Wörterbuch deaktiviert"
  173. ok = delay(5 * 50)
  174.  
  175. /*
  176.  * Aktuelles Wöterbuch reaktivieren
  177.  */
  178.  
  179. say
  180. RELOAD
  181. say "-> Wörterbuch reaktiviert"
  182.  
  183. /*
  184.  * Lernbuffer löschen
  185.  */
  186.  
  187. say
  188. LERNFLUSH
  189. say "-> Lernbuffer gelöscht"
  190.  
  191. /*
  192.  * Merkbuffer löschen
  193.  */
  194.  
  195. say
  196. MERKFLUSH
  197. say "-> Merkbuffer gelöscht"
  198.  
  199. /*
  200.  * Eine letzte Information auf das Info-Fenster von FTrans ausgeben.
  201.  */
  202.  
  203. Message "--- Danke das war's - FTrans Arexx-Script beendet ---"
  204.  
  205. /*
  206.  * Und ebenfalls noch eine letzte Meldung auf das Shell-Fenster.
  207.  */
  208.  
  209. say
  210. say "   *** Danke das war's - FTrans Arexx-Script beendet. ***"
  211.  
  212. /*
  213.  * Script Ende, alles ok.
  214.  */
  215.  
  216. exit 0
  217.